/*
 * File:   Mapa.h
 * Author: jimena2
 *
 * Created on 28 de mayo de 2011, 01:11 PM
 */

#ifndef MAPA_H
#define	MAPA_H
#include <string.h>
#include "Unidad.h"
#include "../interfacesCol/IDictionary.h"
#include "../interfacesCol/ICollection.h"
#include "../dataTypes/dataMapa.h"
#include "Territorio.h"
#include "../dataTypes/claveString.h"
#include "../dataTypes/String.h"
#include"../dataTypes/dataAdyacentes.h"
class Mapa: public ICollection {
private:
	char* nombre;
	IDictionary* territorios;
public:
    Mapa();
    Mapa(const Mapa&);
	char* getNombre() const;
	void setNombre(char*);
        dataMapa* getDataMapa();
        Mapa* crear(char*, ICollection*,ICollection*);
	IDictionary* getTerritorios() const;
	void eliminarTerritorios();
	IDictionary* listarTerritorios();//set(char*)
	Territorio obtenerTerritorio(char*);
	IDictionary* buscarTerritoriosDominar(char*);//set(Territorio)
	void combatir(char*,Unidad);
	Unidad EliminarUTerrAct(bool);
	bool hayCombate(char*, char*);
    virtual ~Mapa();
};

#endif	/* MAPA_H */
